package com.wego.converter;

import com.wego.bean.BaseConverter;
import com.wego.bean.ExcelConverter;
import com.wego.domain.details.PopularTextDetails;
import com.wego.domain.dto.PopularTextDTO;
import com.wego.domain.entity.PopularText;
import com.wego.domain.excel.PopularTextExcel;
import com.wego.domain.vo.PopularTextVO;
import org.mapstruct.Mapper;

@Mapper(componentModel = "spring")
public interface PopularTextConverter extends BaseConverter<PopularText, PopularTextVO,PopularTextDetails, PopularTextDTO>, ExcelConverter<PopularText, PopularTextExcel> {
    /**
     * 将PopularText对象转换为PopularTextDetails对象
     * 该方法会将PopularText对象中的status编码转换为对应的文本描述
     *
     * @param popularText 源PopularText对象，包含热点基本信息和状态编码
     * @return PopularTextDetails对象，包含转换后的热点详细信息，其中status为文本描述
     */
    PopularTextDetails popularText2popularTextDetails(PopularText popularText);

    /**
     * 将PopularText对象转换为PopularTextExcel对象
     * 该方法会将PopularText对象中的status编码转换为对应的文本描述，用于Excel导出
     *
     * @param popularText 源PopularText对象，包含热点基本信息和状态编码
     * @return PopularTextExcel对象，包含转换后的热点Excel信息，其中status为文本描述
     */
    PopularTextExcel popularText2popularTextExcel(PopularText popularText);

    /**
     * 将PopularTextExcel对象转换为PopularText对象
     * 该方法会将PopularTextExcel对象中的status文本描述转换为对应的编码
     *
     * @param popularTextExcel 源PopularTextExcel对象，包含从Excel导入的热点信息
     * @return PopularText对象，包含转换后的热点基本信息，其中status为编码
     */
    PopularText popularTextExcel2popularText(PopularTextExcel popularTextExcel);

}
